package com.example.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 权限验证注解 - 用于标记需要权限检查的方法
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RequiresPermission {
    
    /**
     * 需要的权限列表
     */
    String[] value();
    
    /**
     * 权限检查模式：ALL（需要所有权限）或 ANY（需要任一权限）
     */
    Mode mode() default Mode.ALL;
    
    enum Mode {
        ALL, ANY
    }
} 